//
//  DMBannerScenes.h
//  DualMediationSDK
//
//  Created by YeJary on 2025/1/15.
//

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

/**
 * Banner广告场景常量定义
 * 与Android版本保持一致的场景命名和功能
 */

#pragma mark - Banner广告场景常量

/// 游戏主页Banner场景
FOUNDATION_EXPORT NSString * const SCENE_BANNER_INIT;

/// 关卡进入Banner场景
FOUNDATION_EXPORT NSString * const SCENE_BANNER_LEVEL_ENTER;

/// 关卡胜利Banner场景
FOUNDATION_EXPORT NSString * const SCENE_BANNER_LEVEL_WIN;

/// 商店页面Banner场景
FOUNDATION_EXPORT NSString * const SCENE_BANNER_SHOP;

/// 关卡失败Banner场景
FOUNDATION_EXPORT NSString * const SCENE_BANNER_LEVEL_FAIL;

/// 游戏暂停Banner场景
FOUNDATION_EXPORT NSString * const SCENE_BANNER_GAME_PAUSE;

/// 主菜单Banner场景
FOUNDATION_EXPORT NSString * const SCENE_BANNER_MAIN_MENU;

/// 设置页面Banner场景
FOUNDATION_EXPORT NSString * const SCENE_BANNER_SETTINGS;

#pragma mark - Banner场景类型判断工具

@interface DMBannerScenes : NSObject

/**
 * 获取所有支持的Banner广告场景
 * @return 场景数组
 */
+ (NSArray<NSString *> *)allBannerScenes;

/**
 * 判断是否为有效的Banner场景
 * @param scene 场景名称
 * @return YES表示是有效场景，NO表示无效
 */
+ (BOOL)isValidBannerScene:(NSString *)scene;

/**
 * 获取场景的显示名称（用于日志和调试）
 * @param scene 场景名称
 * @return 显示名称
 */
+ (NSString *)displayNameForScene:(NSString *)scene;

@end

NS_ASSUME_NONNULL_END